Eliminating Interrupt Overload in Embedded Systems
نویسندگان
چکیده
Embedded systems can fail to operate correctly due to interrupt overload: starvation caused by too many interrupt requests. This paper describes three new techniques, two software-based and one hardware-based, for creating systems that delay or drop excessive interrupt requests before they can overload a processor. Our solutions to the interrupt overload problem have several desirable properties. During underload, overhead is proportional to interrupt load. During overload, both the amount of work performed in interrupt context and its granularity are bounded, making it possible to provide strong progress guarantees to low-priority interrupts and noninterrupt tasks. These guarantees permit developers to avoid making assumptions about the worst-case interrupt rates of peripherals such as sensors and network interfaces, filling an important gap in the chain of reasoning leading to a validated embedded system. We show that our solutions successfully prevent interrupt overload with modest overhead by evaluating them on embedded processors. We have also taken a description for a microprocessor in VHDL, modified it to include logic that prevents interrupt overload, synthesized the processor, and verified that it works using simulation.
منابع مشابه
Control of Event Handling Timeliness in RTEMS
1 Embedded real-time applications that interact with the outside environment may be subjected to temporal uncertainty due to the potential asynchronous characteristics of events. If event handling, which is usually associated with interrupts, is not carefully controlled, overload scenarios can cause application tasks to miss deadlines, with severe consequences. In this paper we address the prob...
متن کاملProposal of Flexible Monitoring-Driven HW/SW Interrupt Management for Embedded COTS-Based Event-Triggered Real-Time Systems
In the paper, a concept and an early analysis of an HW/SW architecture designed to prevent the SW from both timing disturbances and interrupt overloads is outlined. The architecture is composed of an FPGA (MCU) used to run the HW (SW) part of an application. Comparing to previous approaches, novelty of the architecture can be seen in the fact it is able to adapt interrupt service rates to the a...
متن کاملEmbedded System Modeling and Verification Based on Deterministic and Stochastic Petri Net ?
Embedded systems are interrupt-driven systems, which achieve interactions with peripherals and environment through the interrupt mechanism, and handle exceptions. However, due to the randomness of trigger method, response with priority, and preemptive execution, interrupt behaviors are hard to accurately predict and interrupt defects are difficult to track. Once a program error is caused by int...
متن کاملSloth: The Virtue and Vice of Latency Hiding in Hardware-Centric Operating Systems
Software for embedded systems needs to be tailored to the application requirements to provide for the lowest cost overhead possible; this is especially important for embedded operating systems, which do not provide a business value of their own. State-of-the-art embedded operating systems are tailored to the requirements of the application above, but they abstract from the hardware platform bel...
متن کاملOn Interrupt-Transparent Synchronization in an Embedded Object-Oriented Operating System
A crucial aspect in the design of (embedded real-time) operating systems concerns interrupt handling. This paper presents the concept of a modularized interrupt-handling subsystem that enables the synchronization of interruptdriven, non-sequential code without the need to disabling hardware interrupts. The basic idea is to use nonblocking/optimistic concurrency sequences for synchronization ins...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004